package com.dhcc.sds.standard.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.plugins.Page;
import com.dhcc.cdc.busi.entity.CdcLabItemEntity;
import com.dhcc.cdc.busi.entity.CdcLabOrderEntity;
import com.dhcc.core.framework.base.service.IBaseService;
import com.dhcc.sds.standard.dto.CdcLabOrderDto;
import com.dhcc.sds.standard.dto.CdcLabitemDto;
import com.dhcc.sds.standard.entity.SdsStandLabitemMatchEntity;

/**
 * 标准化_检验项目配置表数据服务层接口
 * 
 * @ClassName: ISdsStandLabitemMatchService
 * @Description: TODO
 * @author sunyingjie
 * @date 2021-03-22 10:09:53
 */
public interface ISdsStandLabitemMatchService  extends IBaseService<SdsStandLabitemMatchEntity> {
	
    List<SdsStandLabitemMatchEntity> page(Page<SdsStandLabitemMatchEntity> page,Map<String, Object> map, String compare);
    List<SdsStandLabitemMatchEntity> list(Map<String, Object> map);

    /**
     * 同步检验项目到标准化-检验项目配置表
     */
    void sync();

    /**
     * 对照
     */
    void compare(Long sdsStandDicsubId, String labitemIds, Long sdsStandDicId, String laborderIds, String username);

    /**
     * 撤销对照
     */
    void undo(String labitemIds, Long sdsStandDicsubId, String laborderIds, Long sdsStandDicId, String username);

    /**
     * 自动匹配对照
     * 匹配规则：检验项目表包含标准字典名称
     */
    void autoCompareLabitem();

    /**
     *
     * @param page
     * @param params
     * @param compare
     * @return
     */
    List<CdcLabitemDto> pageLabitem(Page<CdcLabItemEntity> page, Map<String, Object> params);

    List<CdcLabOrderDto> pageLaborder(Page<CdcLabOrderEntity> page, Map<String, Object> params);

    void autoCompareLaborder();

    List<CdcLabOrderDto> pageMatchLaborder(Page<SdsStandLabitemMatchEntity> page, Map<String, Object> params);

    List<CdcLabitemDto> pageMatchLabitem(Page<SdsStandLabitemMatchEntity> page, Map<String, Object> params);

    List<Long> selectMatchDicsub();
}
